package controllers.updateControllers;

import javax.swing.JFrame;

import views.createViews.ToevoegenLuchthavenView;
import controllers.searchControllers.ZoekLuchthavenController;
import controllers.uiControllers.MainViewController;
import core.logic.services.updateServices.UpdateLuchthavenService;
import core.models.dataModels.createModels.ToevoegenLuchthavenModel;

public class UpdateLuchthavenController {
	private static JFrame scherm;
	
	public static void showView(int luchthavenId) {
		// Het model eerst ophalen uit de service.
		ToevoegenLuchthavenModel model = UpdateLuchthavenService.getLuchthavenModel();
		
		// Geef door aan het model welke luchthaven moet opgehaald worden voor de update.
		model.setLuchthavenId(luchthavenId);
		
		// Vul het model op met de gegevens van de luchthaven
		UpdateLuchthavenService.fillLuchthavenModel(model);
		
		// Zet de schermmodus op 'UPDATE'
		model.setSchermModus("UPDATE");
		
		// Het model naar de view sturen
		scherm = new ToevoegenLuchthavenView(model);
		
		MainViewController.showView(scherm);
	}
	
	public static void handleView(ToevoegenLuchthavenModel model) {
		// Het model doorsturen naar de service
		UpdateLuchthavenService.updateLuchthaven(model);
		closeView(model);
	}

	public static void closeView(ToevoegenLuchthavenModel model)
	{
		// sluiten van het scherm
		scherm.dispose();
		
		ZoekLuchthavenController.showView();
	}
}
